1. Field of the Invention
The present invention relates to the field of computer processors and floating point mathematical support in computer processors. More specifically, this invention relates to improving the performance of a floating point multiplier accumulator.
2. Background
Computers are ubiquitous in modern society. Computers are regularly used for complex mathematical renderings required by modern computer graphics demands as well as traditional accounting, architecture and other specialized mathematically intensive application programs. Mathematical computations which require vary large numbers, require high precision, and/or include complex mathematical equations are referred to as floating point calculations. When programming software, floating point numbers are used when performing floating point calculations. Floating point numbers are commonly defined as having three parts: a sign, a significand (also known as a mantissa), and an exponent. A well known standard that sets a framework for how floating point numbers and calculations should be implemented is I.E.E.E. standard 754 (1985, reaffirmed 1990), the Standard for Binary Floating point Arithmetic, available from the Institute of Electrical and Electronics Engineers, Inc., 445 Hoes Lane, Piscataway, N.J. 08855-1331 (the I.E.E.E. Floating point Standard).
Floating point support has been implemented in a number of ways with processors. In earlier personal computers, a floating point co-processor was optionally available to be installed with and to assist a processor in handling floating point calculations (e.g., Intel Corporation provided a Numeric Processor Extension chip named the 8087 to accompany the widely used 8086 processor). As personal computers have evolved, processors have incorporated floating point capability within a processor by including one or more floating point units in a processor.
Traditionally, only specialized scientific and accounting application programs accessed a processor""s floating point capabilities. However, today, colorful graphic and multimedia images are in widespread use in, for example, internet web pages, architectural software applications, computer games, and animation creation programs. Further, the use of Digital Video Disks (DVD) and the impending on-demand download of video presentations such as movies will cause increased usage of floating point capabilities of processors in computers and more specialized viewing devices. In all of these uses, images are stored in various compressed or encoded formats. The more detailed and higher resolution an image is, the more floating point calculations are needed to process (i.e., decompress or decode) and render the image for display on a monitor or other image generating device. As the use of graphic images has become popular and continues to grow, the use of a processor""s floating point mathematical capabilities has been increasing. In addition, many other computer and processor uses, including use for audio processing, are also contributing to an increased use of a processor""s floating point mathematical capabilities. To accommodate these and other needs, and to meet the ever growing demand for increased floating point performance, the floating point capability of processors is continually evolving. Any incremental increase in floating point throughput will increase the throughput of processors, computers, viewing devices, and any other systems utilizing the floating point capabilities of a processor.